package com.java.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Service;

@Service
public class UserService {

    // Spring 2.0 使用属性注入的方式
    @Autowired  // DI (依赖注入)
    private UserRepository userRepository;

    public int add(){
        System.out.println("Do UserService add method.");

        // 1.传统写法
//        UserRepository userRepository = new UserRepository();
//        return userRepository.add();

        // 2. Spring 1.0
//        ApplicationContext context =
//                new ClassPathXmlApplicationContext("spring-config.xml");
//        UserRepository userRepository = context.getBean("userRepository", UserRepository.class);
//        return userRepository.add();

        //

        // 3. Spring 2.0
        return userRepository.add();


    }
}
